home *** CD-ROM | disk | FTP | other *** search
- #include <stdlib.h>
-
- /*
- * Image title: earth.gif
- * Image size: 0x10 x 0x70
- * Number of tiles (total - unique): 0x1C - 0x1C
- */
-
- unsigned char earth_data[] = {
-
- /* Tile 0x00 */
- 0x07,0x07,0x18,0x1F,0x32,0x2D,0x71,0x4E,0x70,0x4F,0xF8,0x87,0xF8,0x87,0xF8,0x87,
- 0xFC,0x83,0xFE,0x81,0x7F,0x40,0x7F,0x40,0x3F,0x20,0x1F,0x18,0x07,0x07,0x00,0x00,
- 0xC0,0xC0,0xF0,0x30,0x78,0x88,0x3C,0xC4,0x5C,0xA4,0x9E,0x62,0x3E,0xC2,0x3E,0xC2,
- 0x5E,0xA2,0x7E,0x82,0x0C,0xF4,0x0C,0xF4,0x98,0x68,0xB0,0x70,0xC0,0xC0,0x00,0x00,
- 0x07,0x07,0x1F,0x18,0x2F,0x30,0x4F,0x70,0x6F,0x50,0x9F,0xE0,0x9F,0xE0,0xBF,0xC0,
- 0xFF,0x80,0xB7,0xC8,0x63,0x5C,0x43,0x7C,0x3F,0x20,0x1F,0x18,0x07,0x07,0x00,0x00,
- 0xC0,0xC0,0xB0,0x70,0x18,0xE8,0x0C,0xF4,0x0C,0xF4,0x82,0x7E,0x82,0x7E,0x86,0x7A,
- 0xC6,0x3A,0xE6,0x1A,0xF4,0x0C,0xFC,0x04,0xF8,0x08,0xF0,0x30,0xC0,0xC0,0x00,0x00,
-
- /* Tile 0x08 */
- 0x07,0x07,0x1E,0x19,0x20,0x3F,0x40,0x7F,0x42,0x7D,0x81,0xFE,0x81,0xFE,0x83,0xFC,
- 0xD7,0xA8,0xBB,0xC4,0x6E,0x51,0x7C,0x43,0x3F,0x20,0x1F,0x18,0x07,0x07,0x00,0x00,
- 0xC0,0xC0,0x70,0xB0,0xE8,0x18,0xF4,0x0C,0xF4,0x0C,0xFE,0x02,0xFE,0x02,0xFE,0x02,
- 0xFE,0x02,0x7E,0x82,0x3C,0xC4,0x3C,0xC4,0xF8,0x08,0xF0,0x30,0xC0,0xC0,0x00,0x00,
- 0x07,0x07,0x1B,0x1C,0x20,0x3F,0x40,0x7F,0x40,0x7F,0xE0,0x9F,0x90,0xEF,0x89,0xF6,
- 0x8D,0xF2,0x9F,0xE0,0x5E,0x61,0x6F,0x50,0x3F,0x20,0x1F,0x18,0x07,0x07,0x00,0x00,
- 0xC0,0xC0,0xB0,0x70,0x28,0xD8,0x04,0xFC,0x2C,0xD4,0x1E,0xE2,0x1E,0xE2,0x3E,0xC2,
- 0x7E,0x82,0xB6,0x4A,0xE4,0x1C,0xC4,0x3C,0xF8,0x08,0xF0,0x30,0xC0,0xC0,0x00,0x00,
-
- /* Tile 0x10 */
- 0x07,0x07,0x18,0x1F,0x20,0x3F,0x40,0x7F,0x40,0x7F,0xEE,0x91,0xF1,0x8E,0xE0,0x9F,
- 0xE0,0x9F,0xF1,0x8E,0x71,0x4E,0x72,0x4D,0x3F,0x20,0x1F,0x18,0x07,0x07,0x00,0x00,
- 0xC0,0xC0,0xF0,0x30,0x08,0xF8,0x04,0xFC,0x04,0xFC,0x02,0xFE,0x02,0xFE,0x92,0x6E,
- 0xD6,0x2A,0xFE,0x02,0xEC,0x14,0xFC,0x04,0xF8,0x08,0xF0,0x30,0xC0,0xC0,0x00,0x00,
- 0x07,0x07,0x1D,0x1A,0x36,0x29,0x5C,0x63,0x6C,0x53,0xCE,0xB1,0x9F,0xE0,0x9E,0xE1,
- 0xAE,0xD1,0xBF,0xC0,0x47,0x78,0x47,0x78,0x2F,0x30,0x1F,0x18,0x07,0x07,0x00,0x00,
- 0xC0,0xC0,0x70,0xB0,0x08,0xF8,0x04,0xFC,0x04,0xFC,0xE2,0x1E,0x32,0xCE,0x0E,0xF2,
- 0x0E,0xF2,0x1E,0xE2,0x1C,0xE4,0x2C,0xD4,0xF8,0x08,0xF0,0x30,0xC0,0xC0,0x00,0x00,
-
- /* Tile 0x18 */
- 0x07,0x07,0x1E,0x19,0x33,0x2C,0x49,0x76,0x42,0x7D,0xC4,0xBB,0xC1,0xBE,0xC1,0xBE,
- 0xE2,0x9D,0xF3,0x8C,0x78,0x47,0x78,0x47,0x3C,0x23,0x1C,0x1B,0x07,0x07,0x00,0x00,
- 0xC0,0xC0,0x70,0xB0,0x68,0x98,0xC4,0x3C,0xC4,0x3C,0xEE,0x12,0xF2,0x0E,0xE2,0x1E,
- 0xE2,0x1E,0xF2,0x0E,0x7C,0x84,0x7C,0x84,0xF8,0x08,0xF0,0x30,0xC0,0xC0,0x00,0x00
- };
-
- /*
- * Image title: bkg.gif
- * Image size: 0x40 x 0x40
- * Number of tiles (total - unique): 0x40 - 0x31
- */
-
- unsigned char bkg_data[] = {
-
- /* Tile 0x00 */
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x3F,0x3F,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xF3,0xF3,0xF3,0xF3,0xF3,0xF3,0xF3,0xF3,0xE3,0xE3,0xE7,0xE7,0xE7,0xE7,0xC7,0xC7,
- 0xFF,0xFF,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0x3F,0x3F,0x0F,0x0F,0xC7,0xC7,0xE1,0xE1,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFC,0xFC,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xF8,
- 0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFC,0xFC,0xF1,0xF1,0xC7,0xC7,0x0F,0x0F,0x3F,0x3F,
-
- /* Tile 0x08 */
- 0xC0,0xC0,0x9F,0x9F,0x3F,0x3F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0x0F,0x0F,0xC3,0xC3,0xF0,0xF0,0xFC,0xFC,0xFF,0xFF,0xF8,0xF8,0x83,0x83,0x07,0x07,
- 0xFF,0xFF,0xFC,0xFC,0x70,0x70,0x03,0x03,0x07,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xF8,0xF8,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xF8,0xF8,0x03,0x03,0x0F,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xF8,0xF8,0x00,0x00,0x03,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0x80,0x80,0x07,0x07,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
-
- /* Tile 0x10 */
- 0xFE,0xFE,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xF0,0xF0,0xC3,0xC3,0x0F,0x0F,
- 0x27,0x27,0x73,0x73,0xF1,0xF1,0xF8,0xF8,0xFC,0xFC,0x7E,0x7E,0xFE,0xFE,0xFF,0xFF,
- 0xF8,0xF8,0xC0,0xC0,0x83,0x83,0x1F,0x1F,0x3F,0x3F,0x7F,0x7F,0x3F,0x3F,0x3F,0x3F,
- 0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0x1F,0x1F,0x03,0x03,0xE0,0xE0,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xCF,0xCF,0x80,0x80,0x90,0x90,0x9F,0x9F,0x9F,0x9F,0xDF,0xDF,0xCF,0xCF,0xCF,0xCF,
- 0xF8,0xF8,0xF8,0xF8,0x03,0x03,0xC3,0xC3,0xF3,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0x03,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
-
- /* Tile 0x18 */
- 0x3F,0x3F,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xC7,0xC7,0xC7,0xC7,0xE7,0xE7,0x1F,0x1F,0x07,0x07,0xC3,0xC3,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xE7,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x1F,0x1F,0x1F,0x1F,0x3F,0x3F,0xFF,0xFF,
- 0xE0,0xE0,0xE0,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xFE,0xFF,0xFF,
- 0x00,0x00,0x00,0x00,0x80,0x80,0xF9,0xF9,0x81,0x81,0x0F,0x0F,0x1F,0x1F,0x80,0x80,
- 0xFF,0xFF,0xFF,0xFF,0x1F,0x1F,0x80,0x80,0xF0,0xF0,0xFF,0xFF,0x0F,0x0F,0xFF,0xFF,
-
- /* Tile 0x20 */
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFC,0xF8,0xF8,0xF1,0xF1,0xE3,0xE3,
- 0xC3,0xC3,0xC3,0xC3,0xE7,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,
- 0xFF,0xFF,0xFF,0xFF,0xF8,0xF8,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0x98,0x98,0x67,0x67,
- 0xFF,0xFF,0xFF,0xFF,0xFC,0xFC,0x61,0x61,0x7E,0x7E,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,
- 0xFE,0xFE,0xC0,0xC0,0x18,0x18,0xFC,0xFC,0x00,0x00,0xFC,0xFC,0xF0,0xF0,0x81,0x81,
- 0x0F,0x0F,0x0F,0x0F,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xE7,0xE7,0xEF,0xEF,0xE8,0xE8,0xE0,0xE0,0xE6,0xE6,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,
-
- /* Tile 0x28 */
- 0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0x7C,0x7C,0x7F,0x7F,0x78,0x78,0x60,0x60,
- 0xF9,0xF9,0xE7,0xE7,0x9F,0x9F,0x7E,0x7E,0xE0,0xE0,0xC0,0xC0,0x8D,0x8D,0x1D,0x1D,
- 0xDF,0xDF,0xBF,0xBF,0x7F,0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00,0xCF,0xCF,0xC7,0xC7,
- 0xFF,0xFF,0xFE,0xFE,0xF8,0xF8,0xF1,0xF1,0x03,0x03,0x1F,0x1F,0xFF,0xFF,0xFF,0xFF,
- 0x0F,0x0F,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0x06,0x06,0x0F,0x0F,0xBF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0x1B,0x1B,0xFB,0xFB,0xF7,0xF7,0xF7,0xF7,0xEF,0xEF,0xDF,0xDF,0xFF,0xFF,0xFF,0xFF,
-
- /* Tile 0x30 */
- 0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xF3,0xF3,0xF3,0xF3,0xF3,0xF3,0xF3,0xF3,0xF3,0xF3
- };
-
- unsigned char bkg_tiles[] = {
- 0x00,0x01,0x01,0x02,0x01,0x03,0x04,0x05,
- 0x01,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,
- 0x0D,0x0E,0x0F,0x10,0x11,0x12,0x13,0x14,
- 0x15,0x16,0x17,0x01,0x01,0x18,0x01,0x01,
- 0x19,0x01,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
- 0x20,0x01,0x21,0x22,0x23,0x24,0x25,0x26,
- 0x27,0x28,0x29,0x2A,0x2B,0x2C,0x01,0x01,
- 0x2D,0x2E,0x2F,0x30,0x01,0x01,0x01,0x01
- };
-
- void main()
- {
- int i, j, x, y, t;
-
- /* Initialize the background */
- set_bkg_data(0x00, 0x31, bkg_data);
- for(i = 0; i < 32; i+=8) /* Width = 0x100 = 0x20 * 8 */
- for(j = 0; j < 32; j+=8) /* Height = 0x100 = 0x20 * 8 */
- set_bkg_tiles(i, j, 8, 8, bkg_tiles);
- show_bkg();
-
- x = y = 64;
-
- sprites8x16(); /* sprites are 8x16 */
- set_sprite_data(0x00, 0x1C, earth_data);
- set_sprite_tile(0, 0x00);
- set_sprite_tile(1, 0x02);
- move_sprite(0, x, y);
- move_sprite(1, x+8, y);
- show_sprites();
- display_on();
- enable_interrupts();
-
- t = 0;
- j = 0;
- while(1) {
- delay(1000);
- i = joypad();
- if(i & J_START) {
- break;
- }
- if(i & J_UP)
- y--;
- if(i & J_DOWN)
- y++;
- if(i & J_LEFT)
- x--;
- if(i & J_RIGHT)
- x++;
-
- if(t%8 == 0)
- scroll_bkg(2, 1);
-
- if(t%16 == 0) {
- set_sprite_tile(0, t/16*4);
- set_sprite_tile(1, t/16*4+2);
- }
-
- if(i & (J_UP | J_DOWN | J_LEFT | J_RIGHT)) {
- move_sprite(0, x, y);
- move_sprite(1, x+8, y);
- }
- t++;
- if(t/16 >= 7)
- t = 0;
- }
- }
-